

#ifndef ACCOUNTDAO_INTERFACE_H
#define ACCOUNTDAO_INTERFACE_H

#include <stdint.h>
#include <string>
#include "app_platform/cntl_info.h"

#include "erp/account/ddo/contactfilterddo_account.h"	
#include "erp/account/ddo/employeeddo_account.h"	
#include "erp/account/ddo/customercreditddo_account.h"	
#include <set>	
#include "erp/account/ddo/businessunitsddo_account.h"	
#include <map>	
#include <vector>	
#include "erp/account/ddo/employeefilterddo_account.h"	
#include "erp/account/ddo/contactddo_account.h"	
#include "erp/account/ddo/businessunitsfilterddo_account.h"	


namespace erp
{
namespace account
{
namespace dao
{

	/// 同步调用接口
	class IAccountDao	{
	public:
		virtual ~IAccountDao() {}

	public:

		/**
		 *
	 	 * 删除来往单位（逻辑）
		 *
		 *@param String machineKey: 机器码，必填  				
		 *@param String source: 调用来源，必填  				
		 *@param uint32_t sceneId: 场景ID，必填  				
		 *@param uint32_t option: 功能选项，扩展选填  				
		 *@param uint64_t businessUnitsSysNo: 需删除的来往单位的SysNo，必填  				
		 *@param String inReserve: 请求保留字  				
		 *@param String errmsg: 错误信息  		
		 *@param String outReserve: 返回保留字   		
		 *
		 *@return  uint32_t : 0(成功) 其它失败
 	     *
		 */
	    virtual uint32_t DeleteBusinessUnits(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				uint64_t businessUnitsSysNo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	) = 0;

		/**
		 *
	 	 * 删除联系人（逻辑）
		 *
		 *@param String machineKey: 机器码，必填  				
		 *@param String source: 调用来源，必填  				
		 *@param uint32_t sceneId: 场景ID，必填  				
		 *@param uint32_t option: 功能选项，扩展选填  				
		 *@param uint64_t contactSysNo: 需删除的联系人的SysNo，必填  				
		 *@param String inReserve: 请求保留字  				
		 *@param String errmsg: 错误信息  		
		 *@param String outReserve: 返回保留字   		
		 *
		 *@return  uint32_t : 0(成功) 其它失败
 	     *
		 */
	    virtual uint32_t DeleteContact(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				uint64_t contactSysNo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	) = 0;

		/**
		 *
	 	 * 删除职员（逻辑）
		 *
		 *@param String machineKey: 机器码，必填  				
		 *@param String source: 调用来源，必填  				
		 *@param uint32_t sceneId: 场景ID，必填  				
		 *@param uint32_t option: 功能选项，扩展选填  				
		 *@param uint64_t employeeSysNo: 需删除的职员的SysNo，必填  				
		 *@param String inReserve: 请求保留字  				
		 *@param String errmsg: 错误信息  		
		 *@param String outReserve: 返回保留字   		
		 *
		 *@return  uint32_t : 0(成功) 其它失败
 	     *
		 */
	    virtual uint32_t DeleteEmployee(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				uint64_t employeeSysNo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	) = 0;

		/**
		 *
	 	 * 根据过滤条件查询来往单位列表信息
		 *
		 *@param String machineKey: 机器码，必填  				
		 *@param String source: 调用来源，必填  				
		 *@param uint32_t sceneId: 场景ID，必填  				
		 *@param uint32_t option: 功能选项，扩展选填  				
		 *@param BusinessUnitsFilterDdo filter: 过滤器，必填  				
		 *@param String inReserve: 请求保留字  				
		 *@param String errmsg: 错误信息  		
		 *@param uint32_t total: 分支机构总数 		
		 *@param Vector businessUnitsDdo: 分支机构列表信息 		
		 *@param String outReserve: 返回保留字   		
		 *
		 *@return  uint32_t : 0(成功) 其它失败
 	     *
		 */
	    virtual uint32_t GetBusinessUnitsByFilter(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::account::ddo::CBusinessUnitsFilterDdo& filter,
				const std::string& inReserve,
				std::string& errmsg,
				uint32_t& total,
				std::vector<erp::account::ddo::CBusinessUnitsDdo >& businessUnitsDdo,
				std::string& outReserve
	    	) = 0;

		/**
		 *
	 	 * 根据分支机构ID批量获取分支机构信息
		 *
		 *@param String machineKey: 机器码，必填  				
		 *@param String source: 调用来源，必填  				
		 *@param uint32_t sceneId: 场景ID，必填  				
		 *@param uint32_t option: 功能选项，扩展选填  				
		 *@param Set businessUnitsSysNo: 需获取的来往单位的SysNo，必填  				
		 *@param String inReserve: 请求保留字  				
		 *@param String errmsg: 错误信息  		
		 *@param Map errorCode: 获取失败的错误码 		
		 *@param Map errorMsg: 获取失败的错误信息 		
		 *@param Map businessUnitsDdo: 获取成功的来往单位信息 		
		 *@param String outReserve: 返回保留字   		
		 *
		 *@return  uint32_t : 0(成功) 其它失败
 	     *
		 */
	    virtual uint32_t GetBusinessUnitsBySysNos(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const std::set<uint64_t >& businessUnitsSysNo,
				const std::string& inReserve,
				std::string& errmsg,
				std::map<uint64_t,uint32_t >& errorCode,
				std::map<uint64_t,std::string >& errorMsg,
				std::map<uint64_t,erp::account::ddo::CBusinessUnitsDdo >& businessUnitsDdo,
				std::string& outReserve
	    	) = 0;

		/**
		 *
	 	 * 根据过滤条件查询联系人信息
		 *
		 *@param String machineKey: 机器码，必填  				
		 *@param String source: 调用来源，必填  				
		 *@param uint32_t sceneId: 场景ID，必填  				
		 *@param uint32_t option: 功能选项，扩展选填  				
		 *@param ContactFilterDdo filter: 过滤器，必填  				
		 *@param String inReserve: 请求保留字  				
		 *@param String errmsg: 错误信息  		
		 *@param uint32_t total: 分支机构总数 		
		 *@param Vector contactDdo: 分支机构列表信息 		
		 *@param String outReserve: 返回保留字   		
		 *
		 *@return  uint32_t : 0(成功) 其它失败
 	     *
		 */
	    virtual uint32_t GetContactByFilter(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::account::ddo::CContactFilterDdo& filter,
				const std::string& inReserve,
				std::string& errmsg,
				uint32_t& total,
				std::vector<erp::account::ddo::CContactDdo >& contactDdo,
				std::string& outReserve
	    	) = 0;

		/**
		 *
	 	 * 根据联系人SysNo批量获取联系人信息
		 *
		 *@param String machineKey: 机器码，必填  				
		 *@param String source: 调用来源，必填  				
		 *@param uint32_t sceneId: 场景ID，必填  				
		 *@param uint32_t option: 功能选项，扩展选填  				
		 *@param Set contactSysNo: 需获取的联系人的SysNo，必填  				
		 *@param String inReserve: 请求保留字  				
		 *@param String errmsg: 错误信息  		
		 *@param Map errorCode: 获取失败的错误码 		
		 *@param Map errorMsg: 获取失败的错误信息 		
		 *@param Map contactDdo: 获取成功的来往单位信息 		
		 *@param String outReserve: 返回保留字   		
		 *
		 *@return  uint32_t : 0(成功) 其它失败
 	     *
		 */
	    virtual uint32_t GetContactBySysNos(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const std::set<uint64_t >& contactSysNo,
				const std::string& inReserve,
				std::string& errmsg,
				std::map<uint64_t,uint32_t >& errorCode,
				std::map<uint64_t,std::string >& errorMsg,
				std::map<uint64_t,erp::account::ddo::CContactDdo >& contactDdo,
				std::string& outReserve
	    	) = 0;

		/**
		 *
	 	 * 根据主键查询信用额度
		 *
		 *@param String machineKey: 机器码，必填  				
		 *@param String source: 调用来源，必填  				
		 *@param uint32_t sceneId: 场景ID，必填  				
		 *@param uint32_t option: 功能选项，扩展选填  				
		 *@param uint64_t branchSysNo: 分支机构SysNo，必填  				
		 *@param uint64_t businessUnitsSysNo: 往来单位SysNo，必填  				
		 *@param String inReserve: 请求保留字  				
		 *@param String errmsg: 错误信息  		
		 *@param CustomerCreditDdo customerCreditDdo: 信用额度信息 		
		 *@param String outReserve: 返回保留字   		
		 *
		 *@return  uint32_t : 0(成功) 其它失败
 	     *
		 */
	    virtual uint32_t GetCustomerCredit(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				uint64_t branchSysNo,
				uint64_t businessUnitsSysNo,
				const std::string& inReserve,
				std::string& errmsg,
				erp::account::ddo::CCustomerCreditDdo& customerCreditDdo,
				std::string& outReserve
	    	) = 0;

		/**
		 *
	 	 * 根据过滤条件查询职员列表信息
		 *
		 *@param String machineKey: 机器码，必填  				
		 *@param String source: 调用来源，必填  				
		 *@param uint32_t sceneId: 场景ID，必填  				
		 *@param uint32_t option: 功能选项，扩展选填  				
		 *@param EmployeeFilterDdo filter: 过滤器，必填  				
		 *@param String inReserve: 请求保留字  				
		 *@param String errmsg: 错误信息  		
		 *@param uint32_t total: 职员总数 		
		 *@param Vector businessUnitsDdo: 职员列表信息 		
		 *@param String outReserve: 返回保留字   		
		 *
		 *@return  uint32_t : 0(成功) 其它失败
 	     *
		 */
	    virtual uint32_t GetEmployeeByFilter(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::account::ddo::CEmployeeFilterDdo& filter,
				const std::string& inReserve,
				std::string& errmsg,
				uint32_t& total,
				std::vector<erp::account::ddo::CEmployeeDdo >& businessUnitsDdo,
				std::string& outReserve
	    	) = 0;

		/**
		 *
	 	 * 根据职员ID批量获取职员信息
		 *
		 *@param String machineKey: 机器码，必填  				
		 *@param String source: 调用来源，必填  				
		 *@param uint32_t sceneId: 场景ID，必填  				
		 *@param uint32_t option: 功能选项，扩展选填  				
		 *@param Set employeeSysNo: 需获取的职员的SysNo，必填  				
		 *@param String inReserve: 请求保留字  				
		 *@param String errmsg: 错误信息  		
		 *@param Map errorCode: 获取失败的错误码 		
		 *@param Map errorMsg: 获取失败的错误信息 		
		 *@param Map employeeDdo: 获取成功的来往单位信息 		
		 *@param String outReserve: 返回保留字   		
		 *
		 *@return  uint32_t : 0(成功) 其它失败
 	     *
		 */
	    virtual uint32_t GetEmployeeBySysNos(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const std::set<uint64_t >& employeeSysNo,
				const std::string& inReserve,
				std::string& errmsg,
				std::map<uint64_t,uint32_t >& errorCode,
				std::map<uint64_t,std::string >& errorMsg,
				std::map<uint64_t,erp::account::ddo::CEmployeeDdo >& employeeDdo,
				std::string& outReserve
	    	) = 0;

		/**
		 *
	 	 * 添加/修改来往单位；传入来往单位SysNo不为0时则进行修改，反之则进行添加；
		 *
		 *@param String machineKey: 机器码，必填  				
		 *@param String source: 调用来源，必填  				
		 *@param uint32_t sceneId: 场景ID，必填  				
		 *@param uint32_t option: 功能选项，扩展选填  				
		 *@param BusinessUnitsDdo businessUnitsDdo: 分支机构Ddo，必填  				
		 *@param String inReserve: 请求保留字  				
		 *@param String errmsg: 错误信息  		
		 *@param uint64_t SysNo: 返回相应的SysNo  		
		 *@param String outReserve: 返回保留字   		
		 *
		 *@return  uint32_t : 0(成功) 其它失败
 	     *
		 */
	    virtual uint32_t ModifyBusinessUnits(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::account::ddo::CBusinessUnitsDdo& businessUnitsDdo,
				const std::string& inReserve,
				std::string& errmsg,
				uint64_t& SysNo,
				std::string& outReserve
	    	) = 0;

		/**
		 *
	 	 * 添加/修改联系人；传入联系人SysNo不为0时则进行修改，反之则进行添加；
		 *
		 *@param String machineKey: 机器码，必填  				
		 *@param String source: 调用来源，必填  				
		 *@param uint32_t sceneId: 场景ID，必填  				
		 *@param uint32_t option: 功能选项，扩展选填  				
		 *@param ContactDdo contactDdo: 分支机构Ddo，必填  				
		 *@param String inReserve: 请求保留字  				
		 *@param String errmsg: 错误信息  		
		 *@param uint64_t SysNo: 返回相应的SysNo  		
		 *@param String outReserve: 返回保留字   		
		 *
		 *@return  uint32_t : 0(成功) 其它失败
 	     *
		 */
	    virtual uint32_t ModifyContact(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::account::ddo::CContactDdo& contactDdo,
				const std::string& inReserve,
				std::string& errmsg,
				uint64_t& SysNo,
				std::string& outReserve
	    	) = 0;

		/**
		 *
	 	 * 添加/修改信用额度；传入组合主键往来单位SysNo和分支机构SysNo
		 *
		 *@param String machineKey: 机器码，必填  				
		 *@param String source: 调用来源，必填  				
		 *@param uint32_t sceneId: 场景ID，必填  				
		 *@param uint32_t option: 功能选项，扩展选填  				
		 *@param CustomerCreditDdo customerCreditDdo: 职员Ddo，必填  				
		 *@param String inReserve: 请求保留字  				
		 *@param String errmsg: 错误信息  		
		 *@param String outReserve: 返回保留字   		
		 *
		 *@return  uint32_t : 0(成功) 其它失败
 	     *
		 */
	    virtual uint32_t ModifyCustomerCredit(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::account::ddo::CCustomerCreditDdo& customerCreditDdo,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	) = 0;

		/**
		 *
	 	 * 添加/修改职员；传入来往单位SysNo不为0时则进行修改，反之则进行添加；
		 *
		 *@param String machineKey: 机器码，必填  				
		 *@param String source: 调用来源，必填  				
		 *@param uint32_t sceneId: 场景ID，必填  				
		 *@param uint32_t option: 功能选项，扩展选填  				
		 *@param EmployeeDdo employeeDdo: 职员Ddo，必填  				
		 *@param String inReserve: 请求保留字  				
		 *@param String errmsg: 错误信息  		
		 *@param uint64_t SysNo: 返回相应的SysNo  		
		 *@param String outReserve: 返回保留字   		
		 *
		 *@return  uint32_t : 0(成功) 其它失败
 	     *
		 */
	    virtual uint32_t ModifyEmployee(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::account::ddo::CEmployeeDdo& employeeDdo,
				const std::string& inReserve,
				std::string& errmsg,
				uint64_t& SysNo,
				std::string& outReserve
	    	) = 0;
	};

	///异步调用接口
	class IAccountDaoAsyc
	{
	public:
		virtual ~IAccountDaoAsyc() {}
	public:
		virtual uint32_t SendDeleteBusinessUnits(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				uint64_t businessUnitsSysNo,
				const std::string& inReserve
				) = 0;
		virtual uint32_t RecvDeleteBusinessUnits(
				const CCntlInfo& rCntlInfo,

				std::string& errmsg,
				std::string& outReserve
				) = 0;
		virtual uint32_t SendDeleteContact(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				uint64_t contactSysNo,
				const std::string& inReserve
				) = 0;
		virtual uint32_t RecvDeleteContact(
				const CCntlInfo& rCntlInfo,

				std::string& errmsg,
				std::string& outReserve
				) = 0;
		virtual uint32_t SendDeleteEmployee(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				uint64_t employeeSysNo,
				const std::string& inReserve
				) = 0;
		virtual uint32_t RecvDeleteEmployee(
				const CCntlInfo& rCntlInfo,

				std::string& errmsg,
				std::string& outReserve
				) = 0;
		virtual uint32_t SendGetBusinessUnitsByFilter(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::account::ddo::CBusinessUnitsFilterDdo& filter,
				const std::string& inReserve
				) = 0;
		virtual uint32_t RecvGetBusinessUnitsByFilter(
				const CCntlInfo& rCntlInfo,

				std::string& errmsg,
				uint32_t& total,
				std::vector<erp::account::ddo::CBusinessUnitsDdo >& businessUnitsDdo,
				std::string& outReserve
				) = 0;
		virtual uint32_t SendGetBusinessUnitsBySysNos(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const std::set<uint64_t >& businessUnitsSysNo,
				const std::string& inReserve
				) = 0;
		virtual uint32_t RecvGetBusinessUnitsBySysNos(
				const CCntlInfo& rCntlInfo,

				std::string& errmsg,
				std::map<uint64_t,uint32_t >& errorCode,
				std::map<uint64_t,std::string >& errorMsg,
				std::map<uint64_t,erp::account::ddo::CBusinessUnitsDdo >& businessUnitsDdo,
				std::string& outReserve
				) = 0;
		virtual uint32_t SendGetContactByFilter(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::account::ddo::CContactFilterDdo& filter,
				const std::string& inReserve
				) = 0;
		virtual uint32_t RecvGetContactByFilter(
				const CCntlInfo& rCntlInfo,

				std::string& errmsg,
				uint32_t& total,
				std::vector<erp::account::ddo::CContactDdo >& contactDdo,
				std::string& outReserve
				) = 0;
		virtual uint32_t SendGetContactBySysNos(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const std::set<uint64_t >& contactSysNo,
				const std::string& inReserve
				) = 0;
		virtual uint32_t RecvGetContactBySysNos(
				const CCntlInfo& rCntlInfo,

				std::string& errmsg,
				std::map<uint64_t,uint32_t >& errorCode,
				std::map<uint64_t,std::string >& errorMsg,
				std::map<uint64_t,erp::account::ddo::CContactDdo >& contactDdo,
				std::string& outReserve
				) = 0;
		virtual uint32_t SendGetCustomerCredit(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				uint64_t branchSysNo,
				uint64_t businessUnitsSysNo,
				const std::string& inReserve
				) = 0;
		virtual uint32_t RecvGetCustomerCredit(
				const CCntlInfo& rCntlInfo,

				std::string& errmsg,
				erp::account::ddo::CCustomerCreditDdo& customerCreditDdo,
				std::string& outReserve
				) = 0;
		virtual uint32_t SendGetEmployeeByFilter(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::account::ddo::CEmployeeFilterDdo& filter,
				const std::string& inReserve
				) = 0;
		virtual uint32_t RecvGetEmployeeByFilter(
				const CCntlInfo& rCntlInfo,

				std::string& errmsg,
				uint32_t& total,
				std::vector<erp::account::ddo::CEmployeeDdo >& businessUnitsDdo,
				std::string& outReserve
				) = 0;
		virtual uint32_t SendGetEmployeeBySysNos(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const std::set<uint64_t >& employeeSysNo,
				const std::string& inReserve
				) = 0;
		virtual uint32_t RecvGetEmployeeBySysNos(
				const CCntlInfo& rCntlInfo,

				std::string& errmsg,
				std::map<uint64_t,uint32_t >& errorCode,
				std::map<uint64_t,std::string >& errorMsg,
				std::map<uint64_t,erp::account::ddo::CEmployeeDdo >& employeeDdo,
				std::string& outReserve
				) = 0;
		virtual uint32_t SendModifyBusinessUnits(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::account::ddo::CBusinessUnitsDdo& businessUnitsDdo,
				const std::string& inReserve
				) = 0;
		virtual uint32_t RecvModifyBusinessUnits(
				const CCntlInfo& rCntlInfo,

				std::string& errmsg,
				uint64_t& SysNo,
				std::string& outReserve
				) = 0;
		virtual uint32_t SendModifyContact(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::account::ddo::CContactDdo& contactDdo,
				const std::string& inReserve
				) = 0;
		virtual uint32_t RecvModifyContact(
				const CCntlInfo& rCntlInfo,

				std::string& errmsg,
				uint64_t& SysNo,
				std::string& outReserve
				) = 0;
		virtual uint32_t SendModifyCustomerCredit(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::account::ddo::CCustomerCreditDdo& customerCreditDdo,
				const std::string& inReserve
				) = 0;
		virtual uint32_t RecvModifyCustomerCredit(
				const CCntlInfo& rCntlInfo,

				std::string& errmsg,
				std::string& outReserve
				) = 0;
		virtual uint32_t SendModifyEmployee(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::account::ddo::CEmployeeDdo& employeeDdo,
				const std::string& inReserve
				) = 0;
		virtual uint32_t RecvModifyEmployee(
				const CCntlInfo& rCntlInfo,

				std::string& errmsg,
				uint64_t& SysNo,
				std::string& outReserve
				) = 0;
	};
	
	
}
}
}

#endif /*ACCOUNTDAO_INTERFACE_H*/
